package com.example.aigc_education.service;

import com.example.aigc_education.domain.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.aigc_education.domain.dto.ModifyByAdminDTO;
import com.example.aigc_education.domain.dto.ModifyByUserDTO;
import com.example.aigc_education.domain.dto.SelectByConditionDTO;
import com.example.aigc_education.utils.ResultUtil;

import java.util.List;

/**
* @author 23918
* @description 针对表【sys_user】的数据库操作Service
* @createDate 2024-05-22 20:25:46
*/
public interface UserService extends IService<User> {

    String loginByUsername(String username, String password, String code, String uuid);

    String loginByPhone(String phone, String code);
    User getUserByUsername(String username);

    Boolean updateInfoByUserId(Long userId, ModifyByUserDTO modifyByUserDto);

    Boolean addUser(User user);
    Boolean updateInfoByAdmin( ModifyByAdminDTO modifyByAdminDto);
    List<User> getAllUser();
    List<User> getUserByCondition(SelectByConditionDTO selectByConditionDto);

    void deleteById(Long userId);

    String getAiStudyStyle(String aiStudyStyle);

    ResultUtil sign(Integer signReward);


    ResultUtil getSignRewardView();


    Boolean registerByOpenId(String username,String password, String openid);

    Boolean resetPassword(String password);


//    String modifyPassword(Long userId, ModifyPwdByUserDTO modifyPwdByUserDTO);

//    List<String> selectCourseNameByUserId(Long userId);
//
//
//    List<SelectStuByTeacherPO> selectStuList(Long courseId, Long userId);
//
//    List<Course> selectAllCourseInMongo();


//    Boolean modifyPasswordByPhone(String phone, String password , String code);
//
//    void verifySmsCode(String phone, String code);
}
